// 安装并引入


const http= require('http');
const url= require('url');
const ejs= require('ejs');
const app=require('./model/express_router')
const MongonClient=require('mongodb').MongoClient;
var db_url ='mongodb://localhost:27017/students'; //数据库连接的地址，最后的斜杠表示数据库名字 不存在会创建

http.createServer(app).listen(8081);

app.get('/add',(req,res)=>{
    
    MongonClient.connect(db_url,(err,client)=>{

        if (err) {
            console.log(err);
            return;
        } else {
            var db = client.db("students")//注意 此处是3.x 的写法

            db.collection('user').insertOne({
                "name":"lisi11",
                "age":20
            },(err,result)=>{
                if (err) {
                    console.log(err);
                    console.log('增加数据失败')
                    return;
                }
                res.send('增加成功');
                console.log('增加成功')
                client.close(); //关闭数据库 3.x 写法
            })
           
        }
    })
})
app.get('/edit',(req,res)=>{
    
    MongonClient.connect(db_url,(err,client)=>{

        if (err) {
            console.log(err);
            return;
        } else {
            var db = client.db("students")//注意 此处是3.x 的写法

            db.collection('user').updateOne(
                {"name":"lisi11"},
                {$set:{"age":21}
            },(err,result)=>{
                if (err) {
                    console.log(err);
                    console.log('更新数据失败')
                    return;
                }
                res.send('更新数据成功');
                // console.log('增加成功')
                client.close(); //关闭数据库 3.x 写法
            })
           
        }
    })
})

app.get('/delete',(req,res)=>{
    var query=url.parse(req.url,true).query;
    var name =query.name
    MongonClient.connect(db_url,(err,client)=>{

        if (err) {
            console.log(err);
            return;
        } else {
            var db = client.db("students")//注意 此处是3.x 的写法

            db.collection('user').deleteOne(
                {"name":name},(err,result)=>{
                if (err) {
                    console.log(err);
                    console.log('删除数据失败')
                    return;
                }
                res.send('删除数据成功');
                // console.log('增加成功')
                client.close(); //关闭数据库 3.x 写法
            })
           
        }
    })
})

app.get('/find',(req,res)=>{

    MongonClient.connect(db_url,(err,client)=>{

        if (err) {
            console.log(err);
            return;
        } else {
            var db = client.db("students")//注意 此处是3.x 的写法
            var list=[];
            var result =db.collection('user').find({});
            result.each((error,doc)=>{
                if(error){
                    console.log(1111,error)
                }else{
                    if (doc!==null) {
                        list.push(doc)
                    } else {
                        // 循环完成获取数据
                        ejs.renderFile('views/index.ejs',{list:list},(_err,_data)=>{
                            if (_err) {
                                console.log(222,_err)
                            }
                            res.send(_data);
                        })
                    }
                }

            })
           
        }
    })
})
//注册login 路由方法
app.get('/login',(req,res)=>{
    console.log('logg');
    // res.end('logg')
    ejs.renderFile('views/form.ejs',{},(err,data)=>{
        if (err) {
            console.log(err)
        }
        res.send(data)
    })
})
//执行登录
app.post('/dologin',function(req,res){

    console.log(req.body);  /*获取post传过来的数据*/

    res.send("<script>alert('登录成功');history.back();</script>")
})